package com.ruoyi.hospital.mapper;

import java.util.List;
import com.ruoyi.hospital.domain.Customer;
import com.ruoyi.hospital.domain.vo.CustomerPetVoo;
import com.ruoyi.system.domain.vo.CustomerSpinnerVO;
import org.apache.ibatis.annotations.Param;

/**
 * 客户基础信息Mapper接口
 * 
 * @author qichi
 * @date 2023-07-04
 */
public interface CustomerMapper 
{
    /**
     * 查询客户基础信息
     * 
     * @param id 客户基础信息主键
     * @return 客户基础信息
     */
    public Customer selectCustomerById(Long id);

    /**
     * 查询客户基础信息列表
     * 
     * @param customer 客户基础信息
     * @return 客户基础信息集合
     */
    public List<Customer> selectCustomerList(Customer customer);

    /**
     * 查询客户基础信息列表
     *
     * @param customer 客户基础信息
     * @return 客户基础信息集合
     */
    public List<CustomerPetVoo> selectCustomerListPet(CustomerPetVoo customer);


    /**
     * 新增客户基础信息
     * 
     * @param customer 客户基础信息
     * @return 结果
     */
    public int insertCustomer(Customer customer);

    /**
     * 修改客户基础信息
     * 
     * @param customer 客户基础信息
     * @return 结果
     */
    public int updateCustomer(Customer customer);

    /**
     * 删除客户基础信息
     * 
     * @param id 客户基础信息主键
     * @return 结果
     */
    public int deleteCustomerById(Long id);

    /**
     * 批量删除客户基础信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCustomerByIds(Long[] ids);

    CustomerSpinnerVO queryCustomerByPhone(@Param("phone") String phone, @Param("tenantId") Long tenantId);

}
